import * as API_Distribution from '../../../api/distribution.js'
import {
  RegExp
} from '../../../ui-utils/index.js'
const bankList = {
  PSBC: '中国邮政储蓄银行',
  ICBC: '工商银行',
  ABC: '农业银行',
  BOC: '中国银行',
  CCB: '建设银行',
  COMM: '交通银行',
  CITIC: '中信银行',
  CEB: '光大银行',
  HXBANK: '华夏银行',
  CMBC: '民生银行',
  GDB: '广发银行',
  SPDB: "浦东发展银行",
  CMB: '招商银行',
  CIB: '兴业银行',
  EGBANK: '恒丰银行',
  CZBANK: '浙商银行',
  BOHAIB: '渤海银行',
  SPABANK: '平安银行',
  DIYEBANK: '企业银行',
  SHBANK: '上海银行',
  XMBANK: '厦门银行',
  BJBANK: '北京银行',
  FJHXBC: '福建海峡银行',
  JLBANK: '吉林银行',
  NBBANK: '宁波银行',
  WZCB: '温州银行',
  GCB: '广州银行',
  HKB: '汉口银行',
  LYB: '洛阳银行',
  DLB: '大连银行',
  BHB: '河北银行',
  HZCB: '杭州商业银行',
  NJCB: '南京银行',
  URMQCCB: '乌鲁木齐市商业银行',
  SXCB: '绍兴银行',
  HLDCCB: '葫芦岛市商业银行',
  ZZBANK: '郑州银行',
  NXBANK: '宁夏银行',
  QSBANK: '齐商银行',
  BOJZ: '锦州银行',
  HSBANK: '徽商银行',
  CQBANK: '重庆银行',
  HRBANK: '哈尔滨银行',
  GYCB: '贵阳银行',
  LZYH: '兰州银行',
  NCB: '南昌银行',
  QDCCB: '青岛银行',
  BOQH: '青海银行',
  TZCB: '台州银行',
  CSCB: '长沙银行',
  GZB: '赣州银行',
  H3CB: '内蒙古银行',
  BSB: '包商银行',
  DAQINGB: '龙江银行',
  SHRCB: '上海农商银行',
  SRCB: '深圳农村商业银行',
  GZRCU: '广州农村商业银行',
  DRCBCL: '东莞农村商业银行',
  BJRCB: '北京农村商业银行',
  TRCB: '天津农村商业银行',
  JSRCU: '江苏省农村信用社联合社',
  ZJQL: '浙江泰隆商业银行'
}
Page({

  /**
   * 页面的初始数据
   */
  data: {
    /** 申请表单 */
    setWithdrawalsForm: {
      /** 户名 */
      member_name: '',
      /** 银行卡号 */
      bank_card: ''
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },
  changeMemberName(e) {
    this.setData({
      'setWithdrawalsForm.member_name': e.detail.value
    })
  },
  changeBankName(e) {
    this.setData({
      'setWithdrawalsForm.bank_name': e.detail.value
    })
  },
  changeOpeningNum(e) {
    this.setData({
      'setWithdrawalsForm.opening_num': e.detail.value
    })
  },
  changeBankCard(e) {
    this.setData({
      'setWithdrawalsForm.bank_card': e.detail.value
    })
  },
  //下一步
  async handleNext() {
    const {
      member_name,
      bank_card
    } = this.data.setWithdrawalsForm
    console.log('member_name', member_name)
    console.log('bank_card', bank_card)
    if (!member_name || !bank_card) {
      wx.showToast({
        title: '请填写银行卡信息！',
        icon: 'none'
      })
      return
    }
    let result = await API_Distribution.checkBankCard(bank_card)
    console.log(result)
    if (result.validated) {
      API_Distribution.addWithdrawalsParams({
        bank_card: bank_card,
        bank_name: bankList[result.bank] || "未识别",
        member_name: member_name,
        opening_num: "0"
      }).then(res=>{
        wx.showToast({
          title: '保存成功！',
          icon: 'success'
        })
        setTimeout(() => {
          wx.navigateBack({
            delta: 1
          })
        }, 1000);
      })
    } else {
      wx.showToast({
        title: '请输入正确的银行卡号！',
        icon: 'none'
      })
      return
    }
  },
  // 保存设置
  handleReserveWithdrawalsParams() {
    const {
      member_name,
      bank_name,
      opening_num,
      bank_card
    } = this.data.setWithdrawalsForm
    // 户名校验
    if (!member_name) {
      wx.showToast({
        title: '户名不能为空',
        icon: 'none'
      })
      return
    } else if (member_name.length >= 20) {
      wx.showToast({
        title: '户名长度最多为20个字符',
        icon: 'none'
      })
      return
    }
    // 所属银行
    if (!bank_name) {
      wx.showToast({
        title: '所属银行不能为空',
        icon: 'none'
      })
      return
    } else if (bank_name.length >= 20) {
      wx.showToast({
        title: '所属银行长度最多为20个字符',
        icon: 'none'
      })
      return
    }
    //开户行号
    if (!opening_num) {
      wx.showToast({
        title: '开户行号不能为空',
        icon: 'none'
      })
      return
    } else if (opening_num.length >= 20) {
      wx.showToast({
        title: '开户行号长度最多为20个字符',
        icon: 'none'
      })
      return
    } else if (!RegExp.Integer.test(opening_num)) {
      wx.showToast({
        title: '开户行号必须为数字',
        icon: 'none'
      })
      return
    }
    //银行卡号
    if (!bank_card) {
      wx.showToast({
        title: '银行卡号不能为空',
        icon: 'none'
      })
      return
    } else if (bank_card.length >= 20) {
      wx.showToast({
        title: '银行卡号长度最多为20个字符',
        icon: 'none'
      })
      return
    } else if (!RegExp.Integer.test(bank_card)) {
      wx.showToast({
        title: '银行卡号必须为数字',
        icon: 'none'
      })
      return
    }
    API_Distribution.reserveWithdrawalsParams(this.data.setWithdrawalsForm).then(response => {
      wx.showToast({
        title: '保存成功'
      })
      setTimeout(() => {
        wx.navigateBack({
          delta: 1
        })
      }, 500);
    })
  }
})